//snake
function Snake(){
//	蛇组数
	this.arr=[
	{row:4,col:4},
	{row:4,col:5},
	{row:4,col:6},
	{row:4,col:7},
	{row:4,col:8},
	]
	//移动方向 keycode (左37 右39 下40 上38)
	this.direction=39;
//	方向锁
	this.lock=true;
}

//蛇的移动
Snake.prototype.move=function(){
//	1.找到蛇头克隆蛇头
	let new_head={
		row:this.arr[this.arr.length-1].row,
		col:this.arr[this.arr.length-1].col
	}
//	2.确定蛇头移动后的位置
	if(this.direction===37){
//		左
	new_head.col--
	}else if(this.direction===38){
//		上
	new_head.row--
	}else if(this.direction===39){
//		右
	new_head.col++
	}else if(this.direction===40)
//		下
	new_head.row++
//	3.把新的蛇头放在数组里
	this.arr.push(new_head);
//	4.移除蛇尾
	this.arr.shift();
//	锁定
	this.lock=true;
}

//蛇的移动方向
Snake.prototype.change=function(e){
	this.direction=e;
}

//蛇的移动方向
Snake.prototype.change=function(e){
	
//	方向锁
	if(!this.lock){
//		跳出
	return;
	}
//	解锁
	this.lock=false;
//	只要代码执行了就会改变方向 判定什么时候可以改变方向 什么时候不可以改变方向
	let num= this.direction - e;
	if (num===0||num===2||num===-2){
		console.log("不可以执行 direction的值是"+this.direction);
		return;
	}else{
		this.direction=e;
		console.log("可以执行 direction修改之后的值是"+this.direction);
	}
}

//蛇的尾巴增长
Snake.prototype.grow=function(){
//	获取蛇尾
	let s=this.arr[0];
//	把蛇尾追加到数组的前面
	this.arr.unshift(s);
}
